Tenant isolation in a multi-tent cloud system

ABSTRACT

Isolating tenants in a multi-tenant cloud system includes identifying a plurality of tenants in the multi-tenant cloud system, assigning a domain to each tenant of the plurality of tenants based on a wavelength division multiplexing (WDM), for each wavelength set of the plurality of wavelength sets, associating each wavelength set with a different domain of the plurality of domains and with a different indicator identifying the domain for the wavelength set, and isolating each tenant using the associated wavelength sets and associated indicators. The plurality of tenants share computational resources in the multi-tenant cloud system and the domain includes the computational resources for each tenant. The WDM uses a plurality of wavelength sets and each wavelength set includes one or more wavelengths.

BACKGROUND

Multi-tenant cloud systems allow multiple clients (i.e., users) to share communication and computational resources, such as compute nodes and network switching equipment. Through the shared computational resources, a cloud system is operable to provide computational services on-demand to clients. In many instances the cloud system comprises distributed computational resources, which may be located across multiple data centers in different locations.

Sharing of computational resources in the cloud system enables a provider to use these resources efficiently, while striving to provide adequate performance, which may be specified in service level agreements, to its clients. However, isolation in a cloud system can be difficult. For example, some clients may require that their data be isolated from data of other clients. An isolation failure in a shared resource system is often characterized in terms of its affect on privacy, security, or even performance.

A distinction between cloud systems and conventional data center systems is the need to dynamically reconfigure the system to support newly arriving and departing clients as well as existing client system reconfiguration requests. In many cloud systems, it can be expected that the frequencies of such reconfigurations occur at much higher rates than would be observed in a conventional data center, which may service only a single client or service many clients that typically continually use the data center over long periods of time. The greater occurrence of reconfigurations in a cloud system lends itself to greater occurrences of misconfigurations. For example, instantiating a client system is susceptible to hardware errors in cabling that may inadvertently connect customer domains (contrary to isolation policies).

In cases where a computational resource associated with one customer domain is unintentionally connected to another customer domain, the resource might either be able to communicate on that domain, or be able to listen and receive information from that domain. While sensitive information leakage may be one principal worry of cloud clients, failure to segregate domains can also result in disruption or a decrease in system performance, or increase the risk of a third party attack through a misconfiguration point.

BRIEF DESCRIPTION OF DRAWINGS

The embodiments of the invention will be described in detail in the following description with reference to the following figures.

FIG. 1 illustrates a system, according to an embodiment of the invention;

FIGS. 2A and 2B illustrate systems for isolating tenants in a multi-tenant cloud system, according to an embodiment of the invention;

FIG. 3 shows isolating tenants in a multi-tenant cloud system using Virtual Ethernet Port Aggregators, according to an embodiment of the invention;

FIG. 4 illustrates a flow chart of a method for isolating tenants in a multi-tenant cloud system, according to an embodiment of the invention; and

FIG. 5 shows a block diagram of a computer system configured to implement or execute one or more of the processes depicted in FIG. 4, according to an embodiment of the invention.

DETAILED DESCRIPTION OF EMBODIMENTS

For simplicity and illustrative purposes, the invention is described by referring mainly to exemplary embodiments. In the following description, numerous specific details are set forth to provide a thorough understanding of the embodiments. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without limitation to these specific details. In other instances, well known methods and structures have not been described in detail to avoid unnecessarily obscuring the description of the embodiments.

According to an embodiment, a system and a method for isolating tenants in a multi-tenant cloud system are provided. The system and the method for isolating tenants in a multi-tenant cloud system utilize a cloud architecture, which relies on strategic deployment of physical layer network isolation, according to an embodiment. A tenant may be an enterprise customer of a multi-tenant cloud system or any entity that uses the computing resources of the cloud system or contracts to use the computing resources, such as through service level agreements. Computing resources, such as a server or other devices, of the cloud system may be assigned to a tenant.

In an embodiment, a system and a method for isolating tenants in a multi-tenant cloud system provide isolation of tenants under frequent system reconfigurations. In an embodiment, a system and a method for isolating tenants may apply different indicators, such as a color code, based on coarse wavelength division multiplexing (CWDM) or wavelength division multiplexing (WDM) in a multi-tenant cloud system. CWDM uses a small number of wavelengths (e.g., 4-8) to create separate communication channels. CWDM multiplexes multiple independent communication channels on a single optical fiber using passive optical devices. In fiber-optic communications, WDM multiplexes multiple optical carrier signals on a single optical fiber by using different wavelengths (colors) of laser light to carry different signals. In an embodiment, CWDM or WDM may be used to segregate domains for a tenant and thus, isolate the tenant. Although the system and the method is described using CWDM, the embodiments are not limited to CWDM and may apply to any type of WDM where one or more frequencies can be assigned to each domain for sending and receiving data. The system and method may reduce the incidence of incorrect physical network configuration, minimize the possibility of inter-domain communication should physical network misconfiguration occur, and facilitate visually-verifiable domain isolation. A domain may be a collection of logically grouped machines.

FIG. 1 illustrates a system 100, according to an embodiment of the invention. The system 100 includes a multi-tenant cloud system 110 including a plurality of tenants, such as tenants 101 a-f. Each tenant is shown in the multi-tenant cloud system 110 to represent the computational resources of the cloud system 110 applied to each of the tenants 101 a-f. The computational resources may include servers, virtual machines, software, switches and other network devices, physical layer network resources, such as cabling and connectors, etc. In addition, the system 100 includes a management server 111. In an embodiment, the management server 111 may manage the multi-tenant cloud system 110. For example, the management server 111 may identify the tenants 101 a-f in the multi-tenant cloud system 110 and perform processes for isolating each tenant of the tenants 101 a-f.

FIGS. 2A and 2B illustrate systems for isolating tenants in a multi-tenant cloud system, according to an embodiment of the invention. It should be understood that the systems depicted in FIGS. 2A and 2B may include additional components and that some of the components described herein may be removed and/or modified without departing from the scope of the invention.

With reference first to FIG. 2A, there is shown an aggregation switch rack 201 including an aggregation switch 203 a depicted as blue, an aggregation switch 203 b depicted as green, and an aggregation switch 203 c depicted as red. An aggregation switch handles interconnection of racks within a domain for multi-rack tenants. An aggregation switch is dedicated to each domain in the row. An aggregation switch is monochromatic. In FIG. 2A, there are also shown server racks 202 a, 202 b. 202 c, and 202 d. The server rack 202 a includes a top-of-rack switch 204 a depicted as blue, a top-of-rack switch 205 a depicted as green, and a top-of-rack switch 206 a depicted as red. A top-of-rack switch interconnects all servers on server racks and frequently configures the server racks. For domains comprising one or more complete racks, each server on each rack may be connected to a monochromatic top-of-rack switch. In an embodiment, a single top-of-rack switch per rack is needed. The server rack 202 b includes a top-of-rack switch 204 b depicted as blue, a top-of-rack switch 205 b depicted as green, and a top-of-rack switch 206 b depicted as red. The server rack 202 c includes a top-of-rack switch 204 c depicted as blue, a top-of-rack switch 205 c depicted as green, and a top-of-rack switch 206 c depicted as red. The server rack 202 d includes a top-of-rack switch 204 d depicted as blue, a top-of-rack switch 205 d depicted as green, and a top-of-rack switch 206 d depicted as red. In an embodiment, the top-of-rack switches 204 a-d, 205 a-d, and 206 a-d are Ethernet switches.

The top-of-rack switches 204 a-d, 205 a-d, and 206 a-d are configured to communicate with the servers in the server racks 202 a-d. In addition, each of the aggregation switches 203 a-c is configured to communicate with the top-of-rack switches 204 a-d. 205 a-d, and 206 a-d, respectively. Each of the aggregation switches 203 a-c is configured to control each of the different domains in each of the plurality of inter-racks for isolating the plurality of tenants based on the indicator (e.g. color code) so that any aggregation switches and any top-of-rack switches having the same indicator may be connected to a tenant associated with the same indicator. It should be understood that the color code depicted in FIG. 2A is an example of an Indicator and the Indicator may be represented by any other way, such as the color code, a colored light, text code or a word mark, numeric code or alphanumeric code, or a digital indicator.

In an embodiment, each of the server racks 202 a-d is grouped together and makes a plurality of inter-racks in a row. Different portions of the plurality of inter-racks are assigned to different domains. For example, the inter-racks having square dots in the server racks 202 a-d indicate that these inter-racks belong to the same domain, which is a collection of logically grouped machines or servers. Likewise, the inter-racks having triangle dots belong to the same domain that is a different domain from the domain of the square dots. Inter-racks having circle dots in the server racks 202 a-d belong to another domain. In addition to the top-of-rack switches 204 a-d, 205 a-d, and 206 a-d, the server racks 202 a-d include one or more servers that are connected to the corresponding switches in each server rack. In FIG. 2A, the domains include the entire server racks 202 a-d.

In an embodiment, the aggregation switches 203 a, 203 b, and 203 c are connected to the top-of-rack switches 204 a-d, 205 a-d, and 206 a-d, respectively, through uplinks, such as a 10 gigabyte Ethernet uplink. In an embodiment, the servers in the server racks 202 a-d are configured to communicate with a plurality of tenants of a multi-tenant cloud system and the tenants may share computational resources, such as the servers or storages in the multi-tenant cloud system.

In an embodiment, a server in one of the server racks 202 a-d is configured to be connected to an optical transceiver module via a network interface card (NIC). A server in one of the server racks 202 a-d may be equipped with a single NIC supporting a single, removable, and hot-pluggable optical transceiver port. Each port may accept an optical transceiver module that may communicate at one wavelength associated with an indicator assigned to its domain. In an embodiment, single transmission rate (e.g., supporting only 1 Gbs) network switches may be exclusively assigned to a domain and may be ‘monochrome’, configured with interfaces with only a single indicator. In another embodiment, a single type of optical fiber cabling, such as Single Mode Fiber (SMF), may be used throughout the entire cloud interconnect to facilitate reconfigurations. Assignment and reassignment of servers to domains (i.e., server coloring) may be performed by an insertion of the appropriate indicator optical transceiver in each server's modular slots, as necessary.

In one embodiment, different optical transceiver modules are configured to use different wavelengths based on coarse wavelength division multiplexing (CWDM). The different wavelengths do not overlap with each other. Thus, CWDM technology may be used to segregate domains for a tenant. For example, a CWDM transceiver module wavelength set with an exterior case color coding used to distinguish the CWDM transceiver module types at sight may include one of the following colors depending on the wavelength used by the optical transceiver module; 1470 nm—gray, 1490 nm—violet, 1510 nm—blue, 1530 nm—green, 1550 nm—yellow, 1570 nm—orange, 1590 nm—red, and 1610 nm—brown.

In an embodiment, any interface of a wavelength may only communicate with a second interface of the same color. Thus, a misconfiguration, such as connecting a blue server to a red switch, would fail to operate. In an embodiment, switches may be monochrome, thus, all active switch interfaces may only be associated with the same domain. Virtual Local Area Networks (VLANs) may continue to be used within a domain on and across monochromatic switches (i.e., trunked VLANs). However, a misconfiguration of a VLAN on a monochromatic switch is a domain-specific error, and cannot result in a domain breach. In another embodiment, optical transceiver modules include indicators attached to the optical transceiver modules, for example, labeled with color codes. For example, color coded latches are visible when the optical transceiver module is inserted in a NIC port. An indicator may be attached to an optical transceiver module based on the wavelength used by the optical transceiver module after the optical transceiver modules are manufactured. Hence, casual visible inspection may serve to verify that a desired set of servers are associated with the intended domain. In an embodiment, software verification that a server is configured with a transceiver of appropriate indicator may be performed prior to any communications on that interface. If a server detects that an inserted transceiver is not of the intended color, for example, the server may halt any communication on that domain. In an embodiment, a means to verify the correct color interface is to read the transceiver's management interface, where manufacturer's information (e.g., the product and serial number) Indicates the wavelength used by the transceiver.

With reference to FIG. 2A, each of the aggregation switches 203 a, 203 b, and 203 c, each of the top-of-rack switches 204 a-d. 205 a-d, and 206 a-d, and each of the different optical transceiver modules includes an indicator associated with one of the different wavelengths. Thus, the plurality of tenants may be isolated based on the shared computational resources the plurality of tenants use and the different domains of servers having different indicator optical transceiver modules.

With reference to FIG. 2B, there is shown an aggregation switch rack 211 including an aggregation switch 213 a depicted as blue and an aggregation switch 213 b depicted as green. In FIG. 2B, there is also shown a server rack 212 a, a server rack 212 b, a server rack 212 c, and a server rack 212 d. The server rack 212 a includes a top-of-rack switch 214 a depicted as blue. The server rack 212 b includes a top-of-rack switch 215 b depicted as green. The server rack 212 c includes a top-of-rack switch 214 c depicted as blue and a top-of-rack switch 215 c depicted as green. The server rack 212 d includes a top-of-rack switch 214 d depicted as blue and a top-of-rack switch 215 d depicted as green. The top-of-rack switches 214 a, 214 c, 214 d, 215 b, 215 c, and 215 d may be Ethernet switches. In FIG. 2B, the domains include servers across the server racks 212 a-d.

The top-of-rack switches 214 a, 214 c, 214 d, 215 b, 215 c, and 215 d are configured to communicate with the servers in the server racks 212 a-d. In addition, each of the aggregation switches 213 a, and 213 b is configured to communicate with the top-of-rack switches 214 a, 214 c, 214 d, and 215 b, 215 c, 215 d, respectively. Each of the aggregation switches 213 a, and 213 b is configured to control each of the different domains in each of the plurality of inter-racks for isolating the plurality of tenants based on the indicator (e.g. color code) so that any aggregation switches and any top-of-rack switches having the same indicator may be connected to a tenant associated with the same indicator. In FIG. 2B, the server rack 212 a shows a monochromatic rack (blue), the server rack 212 b shows a monochromatic rack with intra-rack wire cabling (green), the server rack 212 c shows a rack with two configured domains (green/blue), and the server rack 212 d shows a rack with two domains on a set of physical servers (green/blue).

FIG. 3 shows isolating tenants in a multi-tenant cloud system using Virtual Ethernet Port Aggregators (VEPAs), according to an embodiment of the invention.

With reference to FIG. 3, there is shown a red switch 301, a blue switch 302, a VEPA 303 a (red), a VEPA 303 b (blue), and a plurality of virtual machines 304 a-e. In FIG. 3, domains include VMs across server racks. In an embodiment, the domains may share one of the computational resources through the virtual machines and different tenants are assigned to different virtual machines on the same server. The virtual machines 304 a-c are aggregated into a group of the virtual machines and assigned to the VEPA 303 a. The virtual machines 304 d-e may be aggregated into a group of the virtual machines and assigned to the VEPA 303 b. In an embodiment, an interface between a group of the virtual machines and a VEPA may be established to assign the group of the virtual machines to the VEPA 303 b. The VEPA 303 a is associated with an indicator, red color, and the VEPA 303 b is associated with an indicator, blue color. Each indicator is associated with a wavelength based on a CWDM. A domain associated with a switch, such as the red switch 301 or the blue switch 302, may be assigned to one of the VEPAs based on the matching indicator. In addition, the assignment of a switch to a VEPA may be verified based on the matching indicator. A domain may be assigned to a tenant via an optical transceiver module via a single wavelength associated with an indicator corresponding to the single wavelength and to the tenant.

In one embodiment, multiple domains may share a single physical server through the use of virtual machine technology. In such an environment utilization of servers may potentially be very high, and as a consequence this may be one of the prevalent configurations of multi-tenant clouds. In an embodiment, each domain present on a virtualized server may be provided a NIC port equipped with a transceiver module having an appropriate indicator for that domain. While visual verification of domain isolation is not possible due to the potential for an internal, software misconfiguration enabling intra-machine inter domain VM communication, it may be possible to ensure that the correct set of transceiver modules of appropriate indicator is present in a server intended to support the corresponding domains.

In an embodiment, a VEPA system may eliminate the complexity of machine based virtual switches by consolidating all switching functionality, including both frame forwarding and associated frame processing (e.g., Access Control Lists (ACLs)), back into physical switches. A VEPA host module may expose a bridge interface to VMs, where the bridging may be performed in an external switch. By establishing a VEPA interface to a set of virtual machines, all communications between VMs would be directed to and ‘reflected off’ the local switch port, after invoking any frame operations active on that port (e.g., QoS, filters, etc). In an embodiment, by placing all switching and related functions in the physical switch (as opposed to a machine-hosted virtual switch), domain-wide switch management may be consolidated, and VMs more closely resemble their physical counterparts from the network's perspective. Further, VM portability is more easily supported than in settings where switching functions are distributed across physical and virtual switches.

In an embodiment, each VM in a domain may be associated with one VEPA module network interface, with all outbound traffic from the domain multiplexed and transmitted by the NIC of appropriate color to the attached monochromatic switch. By launching traffic into the switch, VEPA may effectively assign indicator(s) to the traffic of the VMs bound to an interface. Thus, from the perspective of the network, the arriving traffic would appear like any other indicated traffic, though multiplexed and possibly to be forwarded back over the arriving port to support traffic between VMs of the same domain on a physical server. In an embodiment, a virtual machine monitor (VMM) may correctly associate each VM with the correct VEPA Interface to the NIC assigned to the domain (i.e., correctly ‘coloring’ a VM). The correctness of the binding may be subject to software verification by both the VMM and the hosted VM. Further, access control mechanisms on the switch may be configured to block ingress traffic believed to be inadvertently forwarded to a switch port.

An embodiment of a method in which the system 100 may be employed for isolating tenants in a multi-tenant cloud system will now be described with respect to the flow diagrams of the method 400 depicted in FIG. 4. It should be apparent to those of ordinary skill in the art that the method 400, and for other methods described herein that other steps may be added or existing steps may be removed, modified or rearranged without departing from the scope of the invention. Also, the methods are described with respect to the system 100 by way of example and not limitation, and the methods may be used in other systems.

FIG. 4 illustrates a flowchart of a method 400 for isolating tenants in a multi-tenant cloud system, according to an embodiment of the present invention. One or more of the steps of the method 400 may be performed by a computer system. The computer system may include the management server 111 shown in FIG. 1 or another computer system.

At step 401, a plurality of tenants in the multi-tenant cloud system are identified, for instance, by the management server 111. The plurality of tenants share computational resources in the multi-tenant cloud system. In an embodiment, a tenant that needs to be isolated from the plurality of tenants may be identified based on the shared computational resources.

At step 402, the computational resources for each tenant of the plurality of tenants are identified. For example, the management server 111 stores information regarding computational resources allocated to each identified tenant.

At step 403, a domain to each tenant of the plurality of tenants is assigned. The assigning may be based on a CWDM or other types of WDM. The domain includes the computational resources for each tenant. The WDM uses a plurality of wavelength sets and each set includes one or more wavelengths.

At step 404, for each wavelength set of the plurality of wavelength sets, the wavelength set is associated with a different domain of the plurality of domains.

At step 405, for each wavelength set of the plurality of wavelength sets, the wavelength set is associated with a different indicator. The different indicator identifies the domain for the wavelength set. The management server 111 may store information identifying each domain, the wavelength set assigned to each domain and the indicator assigned to each domain.

At step 406, each tenant of the plurality of tenants is isolated using the associated wavelength sets and the associated indicators. In an embodiment, one or more of the plurality of tenants are prevented from using the computational resources if the domain identified by the indicator is different from the domain assigned to each of the plurality of tenants.

Some or all of the operations set forth in the figures may be contained as a utility, program, or subprogram, in any desired computer readable storage medium and executed by a processor on a computer system. In addition, the operations may be embodied by computer programs, which can exist in a variety of forms both active and inactive. For example, they may exist as software program(s) comprised of program instructions in source code, object code, executable code or other formats. Any of the above may be embodied on a computer readable storage medium, which include storage devices.

Exemplary computer readable storage media that may be used to store the software may include Random Access Memory (RAM), Read Only Memory (ROM), Electrically Programmable Read Only Memory (EPROM), Electrically Erasable Programmable Read Only Memory (EEPROM), hard disks, or other data storage devices.

FIG. 5 illustrates a block diagram of a computing apparatus 500 configured to implement or execute one or more of the processes depicted in FIG. 4, according to an embodiment. In this respect, the computing apparatus 500 may be used as a platform for executing one or more of the functions described hereinabove with respect to the management server 111. It should be understood that the illustration of the computing apparatus 500 is a generalized illustration and that the computing apparatus 500 may include additional components and that some of the components described may be removed and/or modified without departing from the scope of the invention.

The computing apparatus 500 includes a processor 520 that may implement or execute some or all of the steps described in one or more of the processes depicted in FIG. 4. The computing apparatus 500 also includes a main memory 540, such as a Random Access Memory (RAM), where software may reside during runtime, and a secondary memory 550. The secondary memory 550 may include, for example, a nonvolatile memory or other type of non-volatile data storage where a copy of the program code for one or more of the processes depicted in FIG. 4 may be stored. For example, the processor 520 is configured to implement one or more programs stored in the memory 540 to identify a plurality of tenants in the multi-tenant cloud system, to identify the computational resources for each of the plurality of tenants, to assign a domain to each of the plurality of tenants based on a CWDM, and to isolate each of the plurality of tenants based on the computational resources and the domain used by each of the plurality of tenants. Commands and data from the processor 520 are communicated over a communication bus 530.

The computer system 500 includes I/O devices 560. The I/O devices 560 may include a display and/or user interfaces comprising one or more I/O devices, such as a keyboard, a mouse, a stylus, speaker, and the like. A communication interface 580 is provided for communicating with other components. The communication interface 580 may be a wireless interface. The communication interface 580 may be a network interface.

Although described specifically throughout the entirety of the instant disclosure, representative embodiments of the invention have utility over a wide range of applications, and the above discussion is not intended and should not be construed to be limiting, but is offered as an illustrative discussion of aspects of the invention.

What has been described and illustrated herein are embodiments of the invention along with some of their variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Those skilled in the art will recognize that many variations are possible within the spirit and scope of the invention, wherein the invention is intended to be defined by the following claims and their equivalents in which all terms are mean in their broadest reasonable sense unless otherwise indicated. 

What is claimed is:
 1. A method comprising: identifying, by a management server, a plurality of tenants of a multi-tenant cloud system, wherein the plurality of tenants share computation resources in the multi-tenant cloud system; identifying, by the management server based on computation resource allocation information stored by the management server, respective computation resources allocated to the tenants, wherein the identifying of the respective computation resources comprises identifying first computation resources as allocated to a first tenant of the plurality of tenants, and identifying second computation resources as allocated to a second tenant of the plurality of tenants; assigning, by the management server, a respective domain of a plurality of domains to a corresponding tenant of the plurality of tenants, each assigned domain including the computation resources allocated to the corresponding tenant; assigning, by the management server, a respective wavelength set of a plurality of wavelength sets to a corresponding domain of the plurality of domains, the assigning of different wavelength sets of the plurality of wavelength sets to the corresponding domains causing isolation between the corresponding tenants by employing wavelength division multiplexed (WDM) communications over at least one optical fiber in which different wavelengths are used to communicate data of different tenants; and for each given domain of the plurality of domains, identifying a set of network devices for the given domain; and applying an indicator associated with the given domain to the set of network devices, the indicator indicating communication in a respective wavelength set of the plurality of wavelength sets.
 2. The method of claim 1, wherein the computation resources include compute servers, wherein identifying the respective computation resources allocated to the tenants comprises identifying respective subsets of the compute servers allocated to the tenants.
 3. The method of claim 2, wherein the compute servers are provided in a plurality of server racks.
 4. The method of claim 2, further comprising: inserting a first optical transceiver module into a port of a first compute server of the compute servers, the first optical transceiver module to communicate using a wavelength in a first of the wavelength sets but not wavelengths in wavelength sets different from the first wavelength set.
 5. The method of claim 4, further comprising: to re-allocate the first compute server from the first tenant to the second tenant, replacing the first optical transceiver module with a second optical transceiver module in the port of the first compute server, the second optical transceiver module to communicate using a wavelength in a second of the wavelength sets but not wavelengths in wavelength sets different from the second wavelength set.
 6. The method of claim 5, wherein the port of the first compute server is a hot-pluggable port to accept hot insertion and hot removal of optical transceiver modules.
 7. The method of claim 4, further comprising: verifying, by the first compute server, that the first optical transceiver module is configured to communicate in a target wavelength set by reading, by the first compute server, a management interface of the first optical transceiver module.
 8. The method of claim 7, further comprising: halting, by the first compute server, communications in response to determining that the first optical transceiver is not configured to communicate in the target wavelength set.
 9. The method of claim 1, wherein applying the indicator comprises physically attaching the indicator to each network device in the set of network devices.
 10. The method of claim 1, wherein the WDM communications comprise coarse WDM (CWDM) communications.
 11. The method of claim 1, wherein the plurality of domains share the computation resources through virtual machines.
 12. The method of claim 11, further comprising: aggregating different subsets of the virtual machines into respective different groups of virtual machines; assigning each respective group of virtual machines to a different Virtual Ethernet Port Aggregator (VEPA); and assigning one of the plurality of domains to one of the VEPAs.
 13. The method of claim 1, further comprising: storing, by the management server, information identifying the plurality of domains and the respective wavelength sets assigned to the plurality of domains.
 14. A management server for a multi-tenant cloud system, the management server comprising: at least one processor to: identify a plurality of tenants of the multi-tenant cloud system, wherein the plurality of tenants share computation resources in the multi-tenant cloud system; identify, based on computation resource allocation information stored by the management server, respective computation resources allocated to the tenants, wherein the identifying of the respective computation resources comprises identifying first computation resources as allocated to a first tenant of the plurality of tenants, and identifying second computation resources as allocated to a second tenant of the plurality of tenants; assign a respective domain of a plurality of domains to a corresponding tenant of the plurality of tenants, each assigned domain including the computation resources allocated to the corresponding tenant; assign a respective wavelength set of a plurality of wavelength sets to a corresponding domain of the plurality of domains, the assigning of different wavelength sets of the plurality of wavelength sets to the corresponding domains causing isolation between the corresponding tenants by employing wavelength division multiplexed (WDM) communications over at least one optical fiber in which different wavelengths are used to communicate data of different tenants; and for each given domain of the plurality of domains, identify a set of network devices for the given domain; and apply an indicator associated with the given domain to the set of network devices, the indicator indicating communication in a respective wavelength set of the plurality of wavelength sets.
 15. The management server of claim 14, wherein the at least one processor is to: store, in the management server, information identifying the plurality of domains and the respective wavelength sets assigned to the plurality of domains.
 16. The management server of claim 14, wherein the computation resources include compute servers, wherein identifying the respective computation resources allocated to the tenants comprises identifying respective subsets of the compute servers allocated to the tenants.
 17. The system of claim 16, wherein the identifying of the respective computation resources allocated to the tenants comprises identifying a subset of the compute servers that employ optical transceiver modules hot-plugged into respective ports of the compute servers in the subset, wherein the optical transceiver modules are configured to communicate in a first wavelength set of the plurality of wavelength sets but not in wavelengths of wavelength sets different from the first wavelength set.
 18. A non-transitory computer-readable storage medium storing instructions that upon execution cause a management server to: identify a plurality of tenants of the multi-tenant cloud system, wherein the plurality of tenants share computation resources in the multi-tenant cloud system; identify, based on computation resource allocation information stored by the management server, respective computation resources allocated to the tenants, wherein the identifying of the respective computation resources comprises identifying first computation resources as allocated to a first tenant of the plurality of tenants, and identifying second computation resources as allocated to a second tenant of the plurality of tenants; assign a respective domain of a plurality of domains to a corresponding tenant of the plurality of tenants, each assigned domain including the computation resources allocated to the corresponding tenant; assign a respective wavelength set of a plurality of wavelength sets to a corresponding domain of the plurality of domains, the assigning of different wavelength sets of the plurality of wavelength sets to the corresponding domains causing isolation between the corresponding tenants by employing wavelength division multiplexed (WDM) communications over at least one optical fiber in which different wavelengths are used to communicate data of different tenants; and for each given domain of the plurality of domains, identify a set of network devices for the given domain; and apply an indicator associated with the given domain to the set of network devices, the indicator indicating communication in a respective wavelength set of the plurality of wavelength sets.
 19. The non-transitory computer-readable storage medium of claim 18, wherein the instructions upon execution cause the management server to store, in the management server, information identifying the plurality of domains and the respective wavelength sets assigned to the plurality of domains. 